package grape.crm.rest.customerassociatedcontactperson.vo;
import grape.base.service.dict.api.IDictService;
import grape.common.rest.vo.BaseIdVo;

import grape.common.service.trans.TransBy;
import grape.crm.service.customer.api.ICustomerService;
import grape.crm.service.relation.api.IRelationService;
import grape.crm.service.relationdetail.api.IRelationDetailService;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 关联联系人表
 * </p>
 *
 * @author yangwei
 * @since 2020-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="关联联系人数据响应对象")
public class CustomerAssociatedContactPersonVo extends BaseIdVo<String> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "客户id")
    private String customerId;

    @TransBy(type = ICustomerService.trans_customer_name_else_appellation,byFieldName = "customerId")
    @ApiModelProperty(value = "客户姓名")
    private String customerName;

    @ApiModelProperty(value = "关联联系人姓名")
    private String name;

    @ApiModelProperty(value = "关联联系人性别，字典")
    private String genderDictId;


    @TransBy(type = IDictService.trans_dictName,byFieldName = "genderDictId")
    @ApiModelProperty(value = "性别，字典名称")
    private String genderDictName;

    @ApiModelProperty(value = "联系方式类型,字典")
    private String contactTypeDictId;

    @TransBy(type = IDictService.trans_dictName,byFieldName = "contactTypeDictId")
    @ApiModelProperty(value = "联系方式类型,字典名称")
    private String contactTypeDictName;

    @ApiModelProperty(value = "联系方式")
    private String contact;

    @ApiModelProperty(value = "关系id，描述为客户是另一个客户的关系，如：张三是李四的父亲")
    private String relationId;

    @TransBy(type = IRelationService.trans_relation_name,byFieldName = "relationId")
    @ApiModelProperty(value = "关系名称")
    private String relationName;

    @ApiModelProperty(value = "关系详情id")
    private String relationDetailId;

    @TransBy(type = IRelationDetailService.trans_relation_detail_name,byFieldName = "relationDetailId")
    @ApiModelProperty(value = "关系详情名称")
    private String relationDetailName;

}
